package com.example.ddd.infrastructure.repository;

import com.example.ddd.domain.model.Order;
import com.example.ddd.domain.repository.OrderRepository;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

/**
 * 订单仓储实现类 - 基础设施层
 * 注意：这里使用内存存储作为示例，实际应用中应该使用数据库
 */
@Repository
public class OrderRepositoryImpl implements OrderRepository {
    
    // 内存存储，用于示例
    private final Map<String, Order> orderStore = new HashMap<>();
    
    @Override
    public Order save(Order order) {
        orderStore.put(order.getId(), order);
        return order;
    }
    
    @Override
    public Optional<Order> findById(String id) {
        return Optional.ofNullable(orderStore.get(id));
    }
    
    @Override
    public void delete(String id) {
        orderStore.remove(id);
    }
}